package com.dabai.iot.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dabai.iot.core.dto.DevicePropertyQuery;
import com.dabai.iot.core.model.DeviceProperty;

import java.util.List;
import java.util.Map;

/**
 * 设备属性记录 Service 接口
 *
 * @author kev1n
 */
public interface IDevicePropertyService {

    /**
     * 存储最新的属性信息到缓存
     */
    void saveLastPropertiesToRedis(Long deviceId, String jsonData);

    /**
     * 获取最新的属性信息
     */
    List<DeviceProperty> getLastProperties(Long blockId, Long deviceId);

    /**
     * 设备属性日志分页 from tdengine
     */
    IPage<Map<String, Object>> getPropertyLogPageFromTD(IPage<Map<String, Object>> page, DevicePropertyQuery propertyQuery);

}
